package com.abel.ignite;

import com.abel.ignite.model.RepositoryModel;

import java.util.Collection;

/**
 * @author xiachao
 * @date 2019-04-28
 */

public interface DDLFactory {
    /**
     * 创建表API方式 仅支持ignite 2.8及以上版本
     * @param model
     * @return
     */
    boolean createRepository(RepositoryModel model);

    /**
     * JDBC方式执行DDL
     * @param model
     * @return
     */
    boolean createRepositoryByJDBC(RepositoryModel model);

    /**
     * 获得所有缓存名
     * @return
     */
    Collection<String> getCacheNames();

    /**
     * 根据表名判断是否存在
     * @param cacheName
     * @return
     */
    boolean isExsit(String cacheName);

    /**
     * 删除表
     * @param cacheName
     * @return
     */
    boolean dropRepository(String cacheName);

}
